There are many contexts in which it is necessary to retrieve information from signals measured or received at a receiver. The measured or received signals can be corrupted by noise or interfering signals. For example, the receiver in a digital communication system must determine which symbol or which sequence of symbols has been transmitted by a transmitter on the basis of the received signals, which contain noise and/or interference. At the receiver, all of the different symbols or sequences of symbols that could possibly have been transmitted to result in the received signal can be considered to be distinct hypotheses. The receiver (or a detection module at the receiver) must choose the one of these hypotheses that is most likely or that agrees with other performance criteria. A difficulty in such signal detection is that the number of possible signals (the number of hypotheses) is so large that finding the best hypotheses can be computationally burdensome.
Multiple-input-multiple-output (MIMO) communication systems can provide significantly higher channel capacity than comparable single-input-single-output systems having comparable total transmission power and bandwidth. In wireless communications, MIMO systems have the ability to deal with multipath propagation.
The use of Space Time Block Coding (STBC) can realize increased capacity in MIMO systems and thus improve data throughput and spectral efficiency. STBC and its applications are described, for example in:    Chau Yuen et al., Quasi-orthogonal Space-time Block Code vol. 2 of Communications and Signal Processings, Imperial College Press 2007 ISBN: 978-1-86094-868-8;    Vahid Tarokh et al. Space-Time Block Coding for Wireless Communications: Performance Results, IEEE Journal on Selected Areas in Communications, Vol. 17, No. 3, March 1999 p. 451;    Sumeet Sandhu et al., Space-Time Block Codes: A Capacity Perspective, IEEE Communications Letters, Vol. 4, No. 12, December 2000 p. 384;    Hamid Jafarkhani Space-time coding: theory and practice, Cambridge University Press, 2005 ISBN 0521842913, 9780521842914;    Georgios B. Giannakis et al., Space-time coding for broadband wireless communications, Wiley-Interscience, 2006 ISBN 0471214795, 9780471214793;    Helmut Bölcskei, et al., Space-time wireless systems Cambridge University Press, 2006 ISBN 052185105X, 9780521851053;    Ezio Biglieri, et al., MIMO wireless communications, Cambridge University Press, 2007, ISBN 0521873282, 9780521873284;All of these references are hereby incorporated herein by reference.
STBC presents particular signal detecting challenges because, depending on the STBC implementation, the detector may be required to choose code words from a very large code book (which defines possible codes) for each block. Various technologies are available for detecting STBC signals. Existing technologies have various disadvantages.
The Maximum Likelihood (ML) detector provides optimal performance but requires a tremendous amount of processing at the receiver side. ML essentially involves computing a fitness function for all possible code words to find the code word that is most consistent with the received signals. ML can be undesirably costly to implement and/or slow.
A number of sub-optimal STBC detectors have been proposed. These detectors can be less computationally intensive than ML but suffer from various performance drawbacks, especially at low signal to noise ratio (SNR). Such STBC detectors include:
Zero Forcing (ZF);
Minimum Mean Square Error (MMSE),
Genetic Algorithm Detector (GAD),
Vertical Bell Laboratories Layered Space Time (V-BLAST); and
Sphere Decoder (SD).
Zero Forcing, and Minimum Mean Square Error are described, for example in H. Jafarkhani, Space-Time Coding: Theory and Practice, Cambridge University Press, 2005. A Genetic Algorithm Detector (GAD) based STBC-MIMO detector is described in Y. Du et al. Improved Multiuser Detector Employing Genetic Algorithm in a Space-Time Block Coded System, EURASIP J. of Applied Signal Processing, pp. 640-648, 2004. A drawback of GAD is that it requires several parameter values to be fine tuned to achieve good results. Also, in GAD it is difficult to predict the evolution of the population. Good blocks can be broken by the effect of crossover operators. V-BLAST is described for example in Foschini, G. J, Layered space-time architecture for wireless communication in a fading environment when using multiple antennas, Bell Lab. Tech. J., vol. 1, No. 2, pp. 41-59, 1996.
Sphere decoders are described in:    O. Damen, et al., Lattice code decoder for space-time codes, IEEE Comm. Let., vol. 4, no. 5, pp. 161-163, May 2000;    B. Hassibi et al. On the sphere decoding algorithm: Part I, the expected complexity, IEEE Transactions on Signal Processing, vol. 53, no 8, pages 2806-2818, August 2005;    B. Hassibi et al. On the sphere decoding algorithm: Part II, generalizations, second-order statistics and applications to communications”, IEEE Transactions on Signal Processing, vol 53, no 8, pages 2819-2834, August 2005; and    Jalden, J. et al., On the Complexity of Sphere Decoding in Digital Communications, IEEE Transactions on Signal Processing, vol. 53, no 4, pages 1474-14844, April 2005.
A need exists for receivers and receiving methods that have low computational complexity and/or better performance than existing receivers. There is a particular need for such receivers capable of operating with acceptable performance at low SNR. There is a particular need for such receivers capable of decoding STBC signals.